//
//  main.m
//  sss/Users/zhouyang/程序/MyGit/MySwift/sss/sss/main.m
//
//  Created by 周杨 on 14/10/31.
//  Copyright (c) 2014年 zhouy. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Parson.h"
#import "Parson+AgePrint.h"

int getNum(){

    NSLog(@"pringt");
    
    return 0;
}


void AppendString(NSString * str1,...)//一个连接字符串的函数，参数个数可以动态变化
{
    NSString * str=str1;//str需为指针类型，因为va_arg宏返回的是你的参数的指针，但是如果你的参数为int等简                       //单类型，则不必为指针，因为变量名实际上即是指针。
    
    va_list marker;     //你的类型链表
    
    NSLog(@" %@",str);
    
    va_start(marker,str1);//初始化你的marker链表
    
    
    
    while(![str isEqual:@"ListEnd"])//ListEnd:参数的结束标志，十分重要，在实际中需自行指定
    {
        
        str=va_arg(marker,NSString *);//取得下一个指针
        
        NSLog(@" %@",str);
    }
    va_end(marker);//结束，与va_start合用
}


void AppendObj(SelAction * objs ,  ...)//一个连接字符串的函数，参数个数可以动态变化
{
    SelAction * obj=objs;//str需为指针类型，因为va_arg宏返回的是你的参数的指针，但是如果你的参数为int等简                       //单类型，则不必为指针，因为变量名实际上即是指针。
    
    va_list marker;     //你的类型链表
    
    NSLog(@" %@",[obj Name]);
    
    va_start(marker,objs);//初始化你的marker链表
    
    
    
    while(![[obj Name] isEqual:@"fun2"])//ListEnd:参数的结束标志，十分重要，在实际中需自行指定
    {
        
        obj=va_arg(marker,SelAction *);//取得下一个指针
        
        NSLog(@" %@",[obj Name]);
    }
    va_end(marker);//结束，与va_start合用
}




int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
//        NSLog(@"Hello, World!"); //fff
//        NSLog(@"xxx");
        NSString * fileUrl =@"/Users/zhouyang/程序/MySwift/sss/sss/Temp.strings";
        NSString *string = [NSString stringWithContentsOfFile:fileUrl encoding:NSUTF8StringEncoding error:nil];
        NSArray *aArray = [string componentsSeparatedByString:@"\n"];

        NSLog(@" count:%lu",(unsigned long)[aArray count]);
        
        Parson * parson = [[Parson alloc] init];
//
//        SelAction * selAction1 = [[SelAction alloc] init];
        SEL sel1 = @selector(TestFun:);
//        [selAction1 setMySel:sel1];
//        [selAction1 setName:@"fun1"];
//        
//        SelAction * selAction2 = [[SelAction alloc] init];
        SEL sel2 = @selector(printAge:);
//        [selAction2 setMySel:sel2];
//        [selAction2 setName:@"fun2"];
        
//        
//        SelAction * selAction3 = [[SelAction alloc] init];
//        SEL sel3 = @selector(TestFun);
//        [selAction3 setMySel:sel3];
        
        [parson SelFun:sel1,sel2 ];
//        
//        [parson Actions:selAction1,selAction2];
//        
        //[parson per]
//        
//        [parson performSelector:@selector(TestFun)];
//        
//        
//        
//        SEL sel = @selector(TestFun);
//        TestFun(sel);
//        
        
        //测试函数调用
        
        //SEL * sel =@selector(pa );
        
//        AppendString(@"111",@"222",@"333",@"ListEnd");
//        
//        AppendObj(selAction1,selAction2);
    }
    return 0;
}